package com.power.sifa.correction.service;

import org.springframework.data.domain.Page;
import com.power.sifa.correction.model.Crc_group;
import com.power.sifa.correction.model.pageInfo.Crc_groupPageInfo;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 *  社区矫正人员分组信息业务层
 */
public interface Crc_groupService {

    /**
     *  根据id获取社区矫正人员分组信息对象
     */
    Crc_group getById(Serializable id);

    /**
     *  根据传入社区矫正人员分组信息对象进行新增或更新操作
     */
    void saveOrUpdate(Crc_group crc_group);

    /**
     *  根据id删除社区矫正人员分组信息
     */
    void removeById(String id);

    /**
     *  根据传入条件查询社区矫正人员分组信息分页结果
     */
    Page<Crc_group> findAll(Crc_groupPageInfo pageInfo);
    
    /**
     * 查询全部社区矫正人员分组信息
     */
    List<Crc_group> findAll();
    
     /**
     *  根据id批量删除社区矫正人员分组信息
     */
    void removeByIds(List<String> list);
    
     /**
     *  批量保存社区矫正人员分组信息
     */
    void saveAll(List<Crc_group> list);

    /**
     * 通过分组id查询分组信息
     * @param groupIds
     * @return
     */
    List<Crc_group> findByGroupIds(List<String> groupIds);


    /**
     * 通过人员id查询对应的分组信息
     * @return
     */
    List<Crc_group> findGroupByPersonId(String personId);

    /**
     * 通过人员id查询对应的分组信息
     * @return
     */
    Map<String,List<Crc_group>> findGroupByPersonIds(List<String> personIds);


}
